<template>
  <div style="height: 100%; width: 100%; overflow: hidden">
    <button @click="handler">href</button>
    <span>{{ lores }}</span>
    <br />
    <iframe
      id="myIframemain"
      :src="iframeSrc"
      style="width: 200px; height: 300px"
      frameborder="0"
    ></iframe>
    <div>
      token:
      <textarea
        type="text"
        v-model="setStoken"
        style="width: 500px; height: 160px"
      />
    </div>
    <div>
      <el-button type="primary" @click="handlerLogin" :loading="btnLoading">登录设置token00000</el-button>
      {{ err }}
    </div>
  </div>
</template>

<script>
// import { getUserInfoFaYuan, getUserInfoLoginoutCa, getCaInfoFaYuan } from '@/api/index.js';
// import Ribbon from '@/components/ribbon.js';
import axios from 'axios'
export default {
  data() {
    return {
      // iframeSrc: 'http://151.0.191.134:10003/#/loginframs', //嵌套中间页面 wps-login 登录页
      iframeSrc: 'http://118.118.118.131:10003/#/loginframs', //嵌套中间页面 wps-login 登录页
      setStoken: '',
      btnLoading: false,
      lores: window.navigator.userAgent || '',
      err:''
    }
  },

  mounted() {
    //挂载监听
    this.reciveMessage()
  },
  beforeDestroy() {
    //清除监听
    window.removeEventListener('message', this.myListener)
  },
  methods: {
    handler() {
      console.log('ppp')
      window.location.href =
        'WPS.Docx.6://open?file=https://pcctest.oss-cn-hangzhou.aliyuncs.com/contract_4j/2025/02/08/1738986016380-682701643/qaGuQfLwhi.docx'
    },

    // 退出登录
    hnadlerout() {
      Axios.get(`http://151.0.191.134:9088/logout`, {
        headers: {
          token: window.Application.PluginStorage.getItem('setStoken'),
        },
      }).then((res) => {
        this.lores = res
      })
    },

    // 获取token 然后登录设置
    handlerLogin() {
      if (!this.setStoken) {
        this.$message.error('未获取token')
        return
      }
      window.alert(this.setStoken)
      window.c_methods.writeToken(this.setStoken)
      window.localStorage.setItem(
        'LoginInfo',
        JSON.stringify({
          usercode: '22f949f7-3b4d-4a64-a590-5286078de867',
          compid: '1',
          username: '陈雄',
        })
      )
      window.localStorage.setItem('token', this.setStoken)
      window.c_methods.closeLoginForm()
      // this.btnLoading = true
      // // fetch(`http://151.0.191.134:9088/admin/info`, {
      //   fetch(`https://jsonplaceholder.typicode.com/posts`, {
      //   method: 'GET',
      //   mode: 'cors', // 设置请求模式为 CORS
      //   headers: {
      //     token: this.setStoken,
      //   },
      // })
      //   .then((response) => {
      //     // console.log(response); // 检查响应状态是否正常
      //     return response.json() // 假设返回的是 JSON 数据，如果是其他格式，可以使用相应的方法如 response.text()
      //   })
      //   .then((data) => {
      //     this.btnLoading = false
      //     window.alert('oi')
      //     if (data && data.code === 401) {
      //       // resolve('401')
      //       window.c_methods.removeToken(this.setStoken)
      //       window.c_methods.openLoginForm()
      //       return false
      //     }
      //     window.c_methods.writeToken(this.setStoken)
      //     window.c_methods.closeLoginForm()
      //   })
      //   .catch(() => {
      //     this.btnLoading = false
      //     window.c_methods.removeToken(this.setStoken)
      //     window.c_methods.openLoginForm()
      //   })

      // this.btnLoading = true;
      // axios.get('https://g.t.dacube.cn/CP-USER/User/listPage')
      //   .then((res) => {
      //     window.alert('ok axios');
      //     this.btnLoading = false;
      //     window.c_methods.writeToken(this.setStoken)
      //     window.c_methods.closeLoginForm()
      //     window.localStorage.setItem('token', this.setStoken)
      //   })
      //   .catch((err) => {
      //     this.err=JSON.stringify(err);
      //     window.alert('err axios');
      //     this.btnLoading = false;
      //   });

      // fetch('https://jsonplaceholder.typicode.com/posts').then(response=>{console.log(response)
      //   if(response.ok){
      //     return response.json()
      //   }
      // }).then(res=>{
      //   // console.log(res);
      //   window.alert('oi')
      //   this.btnLoading = false
      // }).catch(()=>{
      //   this.btnLoading = false
      // })

      // // 创建一个新的 XMLHttpRequest 对象
      // var xhr = new XMLHttpRequest()
      // // 配置请求
      // xhr.open('GET', 'https://g.t.dacube.cn/CP-USER/User/listPage', true)
      // // 设置请求完成时的回调函数
      // xhr.onload = function () {
      //   window.alert('ok')
      //   console.log(xhr.status);

      //   if (xhr.status >= 200 && xhr.status < 300) {
      //     // 请求成功，处理响应数据
      //     console.log('Response:', JSON.parse(xhr.responseText))
      //   } else {
      //     // 请求失败，处理错误
      //     console.error('Request failed with status:', xhr.status)
      //   }
      // }
      // // 设置请求错误时的回调函数
      // xhr.onerror = function (err) {
      //   console.error('Request failed')
      //   this.err=JSON.stringify('错误时的回调函数'+err);
      // }
      // // 发送请求
      // xhr.send()
    },

    // 校验登录是否过期
    getLoginUserInfo(setToken) {
      return new Promise((resolve, reject) => {})
    },
    reciveMessage() {
      window.addEventListener('message', this.myListener, false)
    },
    myListener(e) {
      // console.log('----e', e)
      //获取token
      if (e.data && e.data.token) {
        let setToken = e.data.token
        this.setStoken = setToken
      }
    },
    // 退出登录
    RemoveLoinInfoAndPane(type) {
      let url = wps.PluginStorage.getItem('taskShow')

      wps.PluginStorage.removeItem('User')
      wps.PluginStorage.removeItem('Company')
      wps.PluginStorage.removeItem('LoginInfo') // 移除登录消息
      wps.PluginStorage.removeItem('taskShow')
      wps.PluginStorage.removeItem('inLogin') // 移除登录状态

      Object.keys(Ribbon.PANE_Enum).forEach(function (key) {
        let tsId = wps.PluginStorage.getItem(key)
        if (tsId) {
          wps.GetTaskPane(tsId).Visible = false
          // wps.GetTaskPane(tsId).Delete() //删除面板在正式环境下无法再新建面板
          // wps.PluginStorage.removeItem(key)
        }
      })
      let task = PANE_LIST.find((item) => item.task === url)
      // 更新自定义功能区按钮
      Ribbon.updateInvalidateControlById('btnLogin')
      Ribbon.updateInvalidateControlById('btnLoginOut')
      //cx 修改
      if (task) Ribbon.updateInvalidateControlById(task.id)
    },
  },
}
</script>
